1. Field of the Invention
The present invention relates generally to upgrading software of a Set-Top Box (STB), and more particularly, to an apparatus and method for upgrading software when a malfunction occurs in an STB.
2. Description of the Related Art
Remote software upgrade is a technique that enables a system's software to be upgraded without directly accessing the system. This technique is fast and easy and therefore quite useful. Due to its convenience, remote software upgrade is being applied to systems in which large quantities of data are transmitted from a remote location. One such system is a digital broadcasting system, in which remote software upgrade is supported over a broadcasting network.
A digital broadcasting system includes a digital broadcasting transmission station, at least one head end connected to the digital broadcasting transmission station through a network, and a Set-Top Box (STB) connected to the head end. The digital broadcasting system can utilize various types of networks, such as a satellite broadcasting network, a terrestrial broadcasting network, a cable broadcasting network, and so on.
The STB can receive software upgrade data when software is damaged and fails to operate properly, or when software is upgraded from an older version, in order to improve broadcasting services. The STB receives the software upgrade data from the digital broadcasting transmission station. The digital broadcasting transmission station can transmit the software upgrade data together with a broadcasting signal through the network in order to upgrade the software of the set-top box. The head end makes it possible to transmit the broadcasting signal between the STB and the digital broadcasting transmission station by generating information on the system. Depending on the type of system, the head end can be omitted.
In general, the STB upgrades its software through System Information (SI). Specifically, the STB receives and analyzes SI to detect a location of downloadable software, tunes into the frequency of the location, and then finds software upgrade data to upgrade its software.
An STB first determines whether or not its software requires upgrading. If it is determined that upgrading is required, the STB determines whether or not there is software-related SI in a received signal. If the result of checking indicates that there is no software-related SI, the STB performs a step of attempting to receive new SI, and a step of determining whether the newly received SI is associated with a software upgrade, until software-related SI has been received.
If there is software-related SI in the received signal, the STB receives data for upgrading its software using the corresponding SI, and upgrades its software using the received data.
Normally, the software upgrading scheme of the STB that makes use of the above-described SI has the advantage of being able to rapidly retrieve the corresponding software.
However, in the case of damaged or malfunctioning software, the STB is often unable to fully perform a software upgrade. Damaged or malfunctioning software can be a result, for example, of a power supply malfunction during software upgrading, or accidental removal of a power plug by a user while saving software. In such a case, because power is cut off before completion of the upgrade or saving operation, an error is generated in an integrity test. In order to repair the error, a new attempt must be made to upgrade the software.
When normal service can no longer be provided due to software damage, the STB attempts to forcibly analyze the SI, to detect the location of usable software, and to upgrade the detected software after frequency tuning. However, when something is wrong with a head end or a transfer channel for a control message, etc., it is impossible to receive normal SI. Thus, software cannot be downloaded until the problem is solved.
The problem is that according to the software upgrading scheme using SI, software can be received only when SI is received from the head end. Of course, there are digital broadcasting systems where no head end is used, like Out-Of-Band (OOB) systems. In such systems, the SI is transmitted alone through a separately defined channel, and if something is wrong with the corresponding channel, the STB cannot obtain the SI for upgrading the software. Furthermore, since SI downloading modes defined in different standards are all different, a problem of compatibility between the STB and the SI of the corresponding mode arises.